import pandas as pd

def process(df: pd.DataFrame, k: float = 1.5) -> pd.DataFrame:
    '''使用IQR方法处理离群值，将超出四分位距的数据删除
    
    Args:
        df: 输入数据框
        k: IQR的倍数，默认为1.5
    '''
    try:
        # 计算Q1、Q3和IQR
        Q1 = df.iloc[:, 1].quantile(0.25)
        Q3 = df.iloc[:, 1].quantile(0.75)
        IQR = Q3 - Q1 
        # 定义边界
        lower_bound = Q1 - k * IQR
        upper_bound = Q3 + k * IQR
        
        # 删除超出范围的数据
        original_len = len(df)
        df = df[(df.iloc[:, 1] >= lower_bound) & (df.iloc[:, 1] <= upper_bound)]  
        print(f"del_iqr: 删除了{original_len - len(df)}个离群值")
        return df
    except Exception as e:
        print(f"IQR处理错误: {str(e)}")
        return None 